@echo off
title Matrix Framework 系统启动器
echo.
echo ===============================================
echo        Matrix Framework 系统启动器
echo ===============================================
echo.

REM 检查Docker是否运行
echo [1/5] 检查Docker环境...
docker version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ Docker未运行，请先启动Docker Desktop
    pause
    exit /b 1
)
echo ✅ Docker环境正常

REM 检查Docker Compose文件
echo [2/5] 检查配置文件...
if not exist "src/docker/docker-compose.microservices.yml" (
    echo ❌ 找不到docker-compose.microservices.yml文件
    pause
    exit /b 1
)
echo ✅ 配置文件存在

REM 停止现有容器
echo [3/5] 清理现有容器...
docker-compose -f src/docker/docker-compose.microservices.yml down -v >nul 2>&1

REM 启动微服务
echo [4/5] 启动微服务...
echo    正在启动数据库、缓存、后端服务...
docker-compose -f src/docker/docker-compose.microservices.yml up -d --build

if %errorlevel% neq 0 (
    echo ❌ 微服务启动失败
    pause
    exit /b 1
)

echo ✅ 微服务启动成功

REM 等待服务启动
echo [5/5] 等待服务启动...
timeout /t 10 /nobreak >nul

REM 检查服务状态
echo.
echo 📊 服务状态检查：
docker-compose -f src/docker/docker-compose.microservices.yml ps

echo.
echo ===============================================
echo              系统启动完成！
echo ===============================================
echo.

echo 🌐 访问地址：
echo    前端应用:      http://localhost:3000/
echo    API网关:       http://localhost:8080/
echo    服务注册中心:   http://localhost:5000/
echo.

echo 📚 API文档地址：
echo    租户管理API:    http://localhost:5001/swagger (服务启动后)
echo    用户系统API:    http://localhost:5002/swagger (服务启动后)
echo.

echo 💡 系统管理：
echo    查看日志: docker-compose -f docker-compose.microservices.yml logs
echo    停止系统: docker-compose -f docker-compose.microservices.yml down
echo.

echo 🔍 健康检查：
echo    检查服务: timeout /t 5 && docker-compose -f src/docker/docker-compose.microservices.yml ps
echo.

echo 📝 接下来请启动前端应用：
echo    cd src\web\frontend
echo    npm run dev
echo.

REM 询问是否启动前端
set /p start_frontend="是否现在启动前端应用？(y/n): "
if /i "%start_frontend%"=="y" (
    echo.
    echo 🚀 启动前端应用...
    cd src\web\frontend

    REM 检查node_modules是否存在
    if not exist "node_modules" (
        echo 📦 安装前端依赖...
        npm install
    )

    echo 🎯 启动前端开发服务器...
    start cmd /k "npm run dev"

    echo.
    echo ✅ 前端应用正在启动，请等待几秒后访问 http://localhost:3000/
)

echo.
echo 🎉 系统启动完成！如需帮助，请查看 STARTUP_GUIDE.md
echo.
pause